Years ago, computers were isolated devices that did not communicate with each other. But, today computers are often connected in networks, such as the Internet or World Wide Web, and a user at one computer, often called a client, may wish to access information at multiple other computers, often called servers, via a network. Information is often stored at servers and sent to the clients in units of pages, which are connected together via embedded hyperlinks or links. A link is an address, such as a URL (Uniform Resource Locator) of a linked page that is embedded in a linking page that, when selected, causes the linked page to be retrieved. Because the Internet includes so many pages, finding a page of interest can be difficult, so several companies provide search engines that allow users to search for pages that contain keywords.
Current search engines have strong technology in the area of searching the Internet in general for a combination of keywords and can usually find pages that are close to the desired results and related to the keywords. But, often the found pages are too general and are not the specific page that the user desires. Instead, the specific page is often linked (directly or indirectly) from one of found pages. Unfortunately, the found pages often contain many links and following all of them is tedious and time consuming.
In an attempt to address these problems, some sites provide their own search functions that allow users to search that particular site for a keyword. But, these search functions are only helpful if the page of interest is stored at that site. If the page of interest is not present at the site, but is instead linked from that site, the search function will not find it.
As another technique, some browsers will search the sites identified in their history caches of sites previously visited. This technique can be successful if the user is at the same computer using the same browser as when the page was previously viewed and if the page has not already been purged from the history cache. But, users are increasingly mobile and may use a variety of computers and browsers, and users are concerned with privacy, so they often erase the history cache, so this technique is of limited usefulness.
Thus, what is needed is an enhanced technique for finding pages that are linked, either directly or indirectly, from other pages.